package com.yijiaw.dao;

import com.yijiaw.domain.Message;

import java.util.Calendar;
import java.util.Set;

import org.skyway.spring.util.dao.JpaDao;

import org.springframework.dao.DataAccessException;

/**
 * DAO to manage Message entities.
 * 
 */
public interface MessageDAO extends JpaDao<Message> {

	/**
	 * JPQL Query - findMessageByContent
	 *
	 */
	public Set<Message> findMessageByContent(String content) throws DataAccessException;

	/**
	 * JPQL Query - findMessageByContent
	 *
	 */
	public Set<Message> findMessageByContent(String content, int startResult, int maxRows) throws DataAccessException;

	/**
	 * JPQL Query - findMessageByCompanyContaining
	 *
	 */
	public Set<Message> findMessageByCompanyContaining(String company) throws DataAccessException;

	/**
	 * JPQL Query - findMessageByCompanyContaining
	 *
	 */
	public Set<Message> findMessageByCompanyContaining(String company, int startResult, int maxRows) throws DataAccessException;

	/**
	 * JPQL Query - findMessageByDate
	 *
	 */
	public Set<Message> findMessageByDate(java.util.Calendar date) throws DataAccessException;

	/**
	 * JPQL Query - findMessageByDate
	 *
	 */
	public Set<Message> findMessageByDate(Calendar date, int startResult, int maxRows) throws DataAccessException;

	/**
	 * JPQL Query - findAllMessages
	 *
	 */
	public Set<Message> findAllMessages() throws DataAccessException;

	/**
	 * JPQL Query - findAllMessages
	 *
	 */
	public Set<Message> findAllMessages(int startResult, int maxRows) throws DataAccessException;

	/**
	 * JPQL Query - findMessageById
	 *
	 */
	public Message findMessageById(Integer id) throws DataAccessException;

	/**
	 * JPQL Query - findMessageById
	 *
	 */
	public Message findMessageById(Integer id, int startResult, int maxRows) throws DataAccessException;

	/**
	 * JPQL Query - findMessageByPhoneContaining
	 *
	 */
	public Set<Message> findMessageByPhoneContaining(String phone) throws DataAccessException;

	/**
	 * JPQL Query - findMessageByPhoneContaining
	 *
	 */
	public Set<Message> findMessageByPhoneContaining(String phone, int startResult, int maxRows) throws DataAccessException;

	/**
	 * JPQL Query - findMessageByName
	 *
	 */
	public Set<Message> findMessageByName(String name) throws DataAccessException;

	/**
	 * JPQL Query - findMessageByName
	 *
	 */
	public Set<Message> findMessageByName(String name, int startResult, int maxRows) throws DataAccessException;

	/**
	 * JPQL Query - findMessageByNameContaining
	 *
	 */
	public Set<Message> findMessageByNameContaining(String name_1) throws DataAccessException;

	/**
	 * JPQL Query - findMessageByNameContaining
	 *
	 */
	public Set<Message> findMessageByNameContaining(String name_1, int startResult, int maxRows) throws DataAccessException;

	/**
	 * JPQL Query - findMessageByPrimaryKey
	 *
	 */
	public Message findMessageByPrimaryKey(Integer id_1) throws DataAccessException;

	/**
	 * JPQL Query - findMessageByPrimaryKey
	 *
	 */
	public Message findMessageByPrimaryKey(Integer id_1, int startResult, int maxRows) throws DataAccessException;

	/**
	 * JPQL Query - findMessageByPhone
	 *
	 */
	public Set<Message> findMessageByPhone(String phone_1) throws DataAccessException;

	/**
	 * JPQL Query - findMessageByPhone
	 *
	 */
	public Set<Message> findMessageByPhone(String phone_1, int startResult, int maxRows) throws DataAccessException;

	/**
	 * JPQL Query - findMessageByCompany
	 *
	 */
	public Set<Message> findMessageByCompany(String company_1) throws DataAccessException;

	/**
	 * JPQL Query - findMessageByCompany
	 *
	 */
	public Set<Message> findMessageByCompany(String company_1, int startResult, int maxRows) throws DataAccessException;

}